Print scheduling mechanism

ABSTRACT

A method disclosed. The method includes receiving a plurality of jobs at a printing environment, collecting a first set of the plurality jobs at a first filter based on one or more job properties, generating a first batch of one or more jobs to be processed from the first set of jobs in the first filter that and displaying the first filter and the first batch at a graphical user interface (GUI).

FIELD OF THE INVENTION

The invention relates to the field of computer systems, and inparticular, to printing software products.

BACKGROUND

Printers are common peripheral devices attached to computers. A printerallows a computer user to make a hard copy of documents that are createdin a variety of applications and programs on a computer. To functionproperly, a channel of communication is established (e.g., via a networkconnection) between the printer and the computer to enable the printerto receive commands and information from the host computer. Once aconnection is established between a workstation and the printer,printing software is implemented at a print server to manage a print jobfrom order entry and management through the complete printing process.The printing software often includes a graphical user interface (GUI)that enables users to control the printing process. In high speedproduction printing environments, it would be advantageous to provideprinting software that features visibility, automation and metrics forthe efficient printing and finishing large amounts of orders in order toreduce wastes (e.g., time and paper waste).

Accordingly, a print scheduling mechanism is desired.

SUMMARY

In one embodiment, a method includes receiving a plurality of jobs at aprinting environment, collecting a first set of the plurality jobs at afirst filter based on one or more job properties, generating a firstbatch of one or more jobs to be processed from the first set of jobs inthe first filter that and displaying the first filter and the firstbatch at a graphical user interface (GUI).

In other embodiments, a system, computer readable medium and a computerprogram product may be implemented to perform the method.

BRIEF DESCRIPTION OF THE DRAWINGS

A better understanding of the present invention can be obtained from thefollowing detailed description in conjunction with the followingdrawings, in which:

FIG. 1 illustrates one embodiment of a data processing system network;

FIG. 2 illustrates a screen shot of one embodiment of a graphical userinterface;

FIG. 3 is a flow diagram illustrating one embodiment for processing workorders;

FIGS. 4A-4C illustrate screen shots of another embodiment of a graphicaluser interface; and

FIG. 5 illustrates one embodiment of a computer system.

DETAILED DESCRIPTION

A print scheduling mechanism is described. In the following description,for the purposes of explanation, numerous specific details are set forthin order to provide a thorough understanding of the present invention.It will be apparent, however, to one skilled in the art that the presentinvention may be practiced without some of these specific details. Inother instances, well-known structures and devices are shown in blockdiagram form to avoid obscuring the underlying principles of the presentinvention.

Reference in the specification to “one embodiment” or “an embodiment”means that a particular feature, structure, or characteristic describedin connection with the embodiment is included in at least one embodimentof the invention. The appearances of the phrase “in one embodiment” invarious places in the specification are not necessarily all referring tothe same embodiment.

FIG. 1 illustrates one embodiment of a data processing system network100. Network 100 includes a data processing system 102, which may beeither a desktop or a mobile data processing system, coupled viacommunications link 104 to network 106. In one embodiment, dataprocessing system 102 is a conventional data processing system includinga processor, local memory, nonvolatile storage, and input/output devicessuch as a keyboard, mouse, trackball, and the like, all in accordancewith the known art. In one embodiment, data processing system 102includes and employs the Windows operating system or a similar operatingsystem and/or network drivers permitting data processing system 102 tocommunicate with network 106 for the purposes of employing resourceswithin network 106.

Network 106 may be a local area network (LAN) or any other network overwhich print requests may be submitted to a remote printer or printserver. Communications link 104 may be in the form of a network adapter,docking station, or the like, and supports communications between dataprocessing system 102 and network 106 employing a network communicationsprotocol such as Ethernet, the AS/400 Network, or the like.

According to one embodiment, network 106 includes print server 108 thatserve print requests over network 106 received via communications link110. Print server 108 subsequently transmits the print requests viacommunications link 110 to one of printers 109 for printing, which arecoupled to network 106 via communications links 111. In one embodiment,an operator at data processing system 102 may interact with print server108 using a GUI 120 to submit requests for service to one or more ofprinters 109 over network 106.

Although described as separate entities, other embodiments may include aprint server 108 being incorporated in one or more of the printers 109.Therefore, the data processing system network depicted in FIG. 1 isselected for the purposes of explaining and illustrating the presentinvention and is not intended to imply architectural limitations. Thoseskilled in the art will recognize that various additional components maybe utilized in conjunction with the present invention.

According to one embodiment, print server 108 implements a printingsoftware product that manages the processing (e.g., printing) ofdocuments from data processing system 102 to one or more of printers109. In other embodiments, the printing software manages printing ofdocuments from multiple data processing systems 102 to printers 109.

According to one embodiment, the printing software product may beimplemented using either TotalFlow Print Manager or TotalFlow ProductionManager, although other types of printing software may be used instead.In a further embodiment, the print printing software product includesGUI 120 that enables a system administrator (or operator) to interactwith the print printing software product at printer servers 108.

According to one embodiment, GUI 120 enables an operator to instantlyview all jobs that meet specific job properties based on printing,finishing, paper and operator defined fields. In such an embodiment, ajob may be defined as a unit of work (e.g., one or more files) to beprocessed at printer 109. In a further, embodiment, GUI 120 includesfilter and batch views that enables the operator to make decisions onvolume metrics that are defined, and create filter scenarios for optimalefficiency. In such an embodiment, filters defined by an operatorcollect jobs with specific processing options in any order, whilebatches can be created (either manually or automatically) from thesefilters of jobs when a defined threshold or volume range is met.

FIG. 2 illustrates a screen shot of one embodiment of a GUI window 200.Window 200 enables an operator to view all jobs in matching filters,which enables generation of batches to be forwarded to one or moreoutput devices (e.g., a printer, an imposition hot folder or directoryon a network). Window 200 includes a filters area 202, a jobs grid 204and batching panel 206.

According to one embodiment, filters area 202 provides a view ofstatistics (e.g., number of sheets, jobs, run time, etc,) of variousoperator defined filters. Filters area 202 simulates how jobs could beprinted, finished or imposed together without altering files, thusproviding the operator a choice or scenario of how to optimize theproduction process. Upon selection, jobs within a filter are displayedin jobs grid 204 along with various corresponding attributes (e.g., jobname, sheets, copies, etc.). Based on filters shown in filter area 202,the operator may make decisions based on the results. For instance, theoperator may automatically and/or manually batch work. Batched jobs aredisplayed in batching panel 206.

FIG. 3 is a flow diagram illustrating one embodiment for processing workorders. At processing block 310, filters are defined. According to oneembodiment, an operator can define a filter to match one or more jobproperties (e.g., media attributes, finishing attributes, laminationattributes, binding attributes, custom attributes, etc.). In such anembodiment, operators (e.g., =, !=, >, <, ≦, ≧) may be used formatching.

FIG. 4A illustrates a screen shot of one embodiment of a GUI window 400implemented to define a filter. Window 400 enables filters to be definedbased on job attributes, as discussed above, by selecting a jobattributes tab. In a further embodiment, operators may configure filtersto display and automate using volume estimates, such as job run time,sheets, impressions, file size, etc., by selecting a volume estimatestab. FIG. 4B illustrates a screen shot of such an embodiment of a GUIwindow 400.

Referring back to FIG. 3, jobs are received after the filters have beendefined, processing block 320. At processing block 330, jobs matchingthe defined filters are collected and displayed at filter area 202. Atprocessing block 340, the jobs may be batched based on job properties.In one embodiment, jobs may be manually batched by an operator selectingvarious jobs and inserting the jobs into batches. In a furtherembodiment, such an operation is performed by the operator using aninput/output device (e.g., a mouse) to drag and drop selected jobs intothe batch.

In another embodiment, batches may be automatically generated upon adefined threshold or volume range being met. In one embodiment,threshold based batch generation occurs at a point of time at which athreshold boundary of jobs having secondary attributes is reached, whilevolume-based automation features a plus/minus (+/−) range at which batchgeneration is triggered. As a result, volume-based automation istriggered on the reaching of a range, rather than the surpassing of athreshold. In such an embodiment, the range may indicate any volumeexceeding a single quantity that would trigger automation.

According to one embodiment, window 400 may be implemented to selectsecondary attributes and corresponding thresholds/volumes. FIG. 4Cillustrates a screen shot of one embodiment of GUI window 400implemented to generate a batch based on volume. As shown in FIG. 4C,selection of an automation tab in window 400 enables batch generation ofjobs in a filter and a box to enter a threshold.

Upon selection of the automation tab, automation level options areprovided (e.g., No Automation, Auto-Batch, Auto-Batch-and-Send), alongwith attribute options (e.g., Target feet) for which to perform thebatch along with an option to enter corresponding thresholds (Feet).Upon selection of the Auto-Batch option, matching jobs are automaticallybatched upon reaching the entered threshold (plus/minus an enteredamount). Upon selection of Auto-Batch-and-Send option, matching jobs areautomatically batched and forwarded to a selected output destinationupon reaching the entered threshold.

FIG. 5 illustrates a computer system 500 on which data processing system102 and/or servers 108 may be implemented. Computer system 500 includesa system bus 520 for communicating information, and a processor 510coupled to bus 520 for processing information.

Computer system 500 further comprises a random access memory (RAM) orother dynamic storage device 525 (referred to herein as main memory),coupled to bus 520 for storing information and instructions to beexecuted by processor 510. Main memory 525 also may be used for storingtemporary variables or other intermediate information during executionof instructions by processor 510. Computer system 500 also may include aread only memory (ROM) and or other static storage device 526 coupled tobus 520 for storing static information and instructions used byprocessor 510.

A data storage device 525 such as a magnetic disk or optical disc andits corresponding drive may also be coupled to computer system 500 forstoring information and instructions. Computer system 500 can also becoupled to a second I/O bus 550 via an I/O interface 530. A plurality ofI/O devices may be coupled to I/O bus 550, including a display device524, an input device (e.g., an alphanumeric input device 523 and or acursor control device 522). The communication device 521 is foraccessing other computers (servers or clients). The communication device521 may comprise a modem, a network interface card, or other well-knowninterface device, such as those used for coupling to Ethernet, tokenring, or other types of networks.

Embodiments of the invention may include various steps as set forthabove. The steps may be embodied in machine-executable instructions. Theinstructions can be used to cause a general-purpose or special-purposeprocessor to perform certain steps. Alternatively, these steps may beperformed by specific hardware components that contain hardwired logicfor performing the steps, or by any combination of programmed computerproducts, components and/or custom hardware components.

Elements of the present invention may also be provided as amachine-readable medium for storing the machine-executable instructions.The machine-readable medium may include, but is not limited to, floppydiskettes, optical disks, CD-ROMs, and magneto-optical disks, ROMs,RAMs, EPROMs, EEPROMs, magnetic or optical cards, propagation media orother type of media/machine-readable medium suitable for storingelectronic instructions. For example, the present invention may bedownloaded as a computer program which may be transferred from a remotecomputer (e.g., a server) to a requesting computer (e.g., a client) byway of data signals embodied in a carrier wave or other propagationmedium via a communication link (e.g., a modem or network connection).

Whereas many alterations and modifications of the present invention willno doubt become apparent to a person of ordinary skill in the art afterhaving read the foregoing description, it is to be understood that anyparticular embodiment shown and described by way of illustration is inno way intended to be considered limiting. Therefore, references todetails of various embodiments are not intended to limit the scope ofthe claims, which in themselves recite only those features regarded asessential to the invention.

What is claimed is:
 1. A computer generated method comprising: receivinga plurality of jobs at a printing environment; collecting a first set ofthe plurality jobs at a first filter based on one or more jobproperties; generating a first batch upon automatic selection of one ormore jobs from the first set of jobs in the first filter based on asecondary attribute; displaying the first set of jobs in the firstfilter at a first location of a graphical user interface (GUI); anddisplaying the first batch of jobs at a second location of the GUI,wherein the batch is displayed under a listing of the secondaryattribute.
 2. The method of claim 1 further comprising defining thefirst filter, via the GUI, by selecting the one or more job properties.3. The method of claim 2 wherein selecting the one or more jobproperties comprises selecting one or more job attributes to be sharedby the first set of jobs.
 4. The method of claim 3 wherein the one ormore job attributes comprise one or more of media attributes, finishingattributes, lamination attributes, binding attributes and customattributes.
 5. The method of claim 2 wherein selecting the one or morejob properties comprises selecting a volume estimate to be shared by thefirst set of jobs.
 6. The method of claim 1 wherein the first batch isautomatically generated upon a defined threshold of jobs having thesecondary attribute being met.
 7. The method of claim 6 furthercomprising automatically transmitting the first batch for processing atan output device after generation.
 8. The method of claim 1 wherein thefirst batch is automatically generated upon a volume being met.
 9. Themethod of claim 1 wherein the first batch is manually generated by usingthe GUI to select and insert one or more of the first set of jobs fromthe first filter into the first batch.
 10. The method of claim 1 furthercomprising generating a second batch of one or more jobs from the firstset of jobs in the first filter.
 11. A non-transitory computer programproduct stored on a computer readable medium having instructions forimplementing the method of claim
 1. 12. A print server, comprising: aprocessor; and a printing software product including a graphical userinterface (GUI) to be executed by the processor to receive a pluralityof jobs at a printing environment, collect a first set of the pluralityjobs at a first filter based on one or more job properties, generate afirst batch upon automatic selection of one or more jobs from the firstset of jobs in the first filter based on a secondary attribute, displaythe first set of jobs in the first filter at a first location of agraphical user interface (GUI) and display the first batch of jobs at asecond location of the GUI, wherein the batch is displayed under alisting of the secondary attribute.
 13. The print server of claim 12wherein the GUI comprises a window to define the first filter byselecting the one or more job properties.
 14. The print server of claim13 wherein selecting the one or more job properties comprises selectingone or more job attributes to be shared by the first set of jobs. 15.The print server of claim 14 wherein the one or more job attributescomprise one or more of media attributes, finishing attributes,lamination attributes, binding attributes and custom attributes.
 16. Theprint server of claim 13 wherein selecting the one or more jobproperties comprises selecting a volume estimate to be shared by thefirst set of jobs.
 17. The print server of claim 12 wherein the GUIcomprises a window to generate the first batch.
 18. The print server ofclaim 17 wherein the window comprises: a selection to automaticallygenerate the first batch upon a defined threshold being met; and a boxto enter the defined threshold.
 19. The print server of claim 18 whereinthe window further comprises a selection to automatically generate thefirst batch and transmit the first batch for processing at an outputdevice upon a defined threshold being met.
 20. The print server of claim17 wherein the window comprises: a selection to automatically generatethe first batch upon a volume range being met; and a box to enter adefined volume; and a box to enter a plus/minus range for the definedvolume.
 21. A non-transitory machine-readable medium including datathat, when accessed by a machine, cause the machine to performoperations comprising: receiving a plurality of jobs at a printingenvironment; collecting a first set of the plurality jobs at a firstfilter based on one or more job properties; generating a first batchupon automatic selection of one or more jobs from the first set of jobsin the first filter based on a secondary attribute; displaying the firstset of jobs in the first filter at a first location of a graphical userinterface (GUI); and displaying the first batch of jobs at a secondlocation of the GUI, wherein the batch is displayed under a listing ofthe secondary attribute.
 22. The machine-readable medium of claim 21including data that, when accessed by a machine, cause the machine toperform further operations comprising defining the first filter, via theGUI, by selecting the one or more job properties.
 23. Themachine-readable medium of claim 22 wherein selecting the one or morejob properties comprises selecting one or more job attributes to beshared by the first set of jobs.
 24. The machine-readable medium ofclaim 22 including data that, when accessed by a machine, cause themachine to perform further operations comprising selecting the one ormore job properties comprises selecting a volume estimate to be sharedby the first set of jobs.
 25. The machine-readable medium of claim 21wherein the first batch is automatically generated upon a definedthreshold being met.
 26. The machine-readable medium of claim 25including data that, when accessed by a machine, cause the machine toperform further operations comprising automatically transmitting thefirst batch for processing at an output device after generation.
 27. Themachine-readable medium of claim 21 wherein the first batch is manuallygenerated by using the GUI to select and insert one or more of the firstset of jobs from the first filter into the first batch.
 28. Themachine-readable medium of claim 21 further comprising generating asecond batch of one or more jobs from the first set of jobs in the firstfilter.